﻿using System;
using System.Collections.Generic;
using System.Windows.Controls;
using System.Windows.Media.Imaging;

namespace LisBioGUIWPF.Controls
{
    /// <summary>
    /// Lógica de interacción para ImageControl.xaml
    /// </summary>
    public partial class ImageControl : UserControl
    {

        private LisBio lisBio;
        private static List<Entidades.EntidadInvestigador> investigadores = new List<Entidades.EntidadInvestigador>();

        public ImageControl(LisBio lisBio)
        {
            InitializeComponent();
            this.lisBio = lisBio;
            foreach (Entidades.EntidadInvestigador investigador in ImageControl.investigadores)
            {
                this.listMiembros.Items.Add(investigador.NombreYLegajo);
            }
        }

        public void setDefaultImage()
        {
            // Create source
            BitmapImage myBitmapImage = new BitmapImage();

            myBitmapImage.BeginInit();
            myBitmapImage.UriSource = new Uri(@"..\img\biometric.jpg", UriKind.Relative);

            //myBitmapImage.DecodePixelWidth = 200;
            myBitmapImage.EndInit();

            this.image.Source = myBitmapImage;
        }

        private void listMiembros_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
        {
            this.listMiembros.Opacity = 1;
        }

        private void listMiembros_MouseLeave(object sender, System.Windows.Input.MouseEventArgs e)
        {
            this.listMiembros.Opacity = 0.3;
        }

        public void agregarMiembro(Entidades.EntidadInvestigador investigador)
        {
            this.listMiembros.Items.Add(investigador.NombreYLegajo);
            ImageControl.investigadores.Add(investigador);
        }

        public void quitarMiembro(Entidades.EntidadInvestigador investigador)
        {
            int pos = this.listMiembros.Items.IndexOf(investigador.NombreYLegajo);
            this.listMiembros.Items.Remove(investigador.NombreYLegajo);
            ImageControl.investigadores.RemoveAt(pos);
        }

        private void listMiembros_Click(object sender, SelectionChangedEventArgs e)
        {
            LisBioGUIWPF.Controls.User.UserData userData = new LisBioGUIWPF.Controls.User.UserData(lisBio,
                LisBioGUIWPF.Controls.User.UserData.Operacion.DETALLES, null);

            userData.Usuario = ImageControl.investigadores[this.listMiembros.SelectedIndex];
            userData.cargarDatos();

            this.lisBio.borderHuella.Child = userData;
        }

        public void quitarTodosMiembros()
        {
            ImageControl.investigadores.Clear();
            this.listMiembros.Items.Clear();
        }

    }
}
